//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System.Xml;
using CommunityServer.Components;

namespace CommunityServer.Galleries.Components
{
	/// <summary>
	/// Summary description for TrackbackModule.
	/// </summary>
	public class TrackbackModule : ICSModule
	{
		public TrackbackModule()
		{
			//
			// TODO: Add constructor logic here
			//
		}

		public void Init(CSApplication csa, XmlNode node)
		{
			csa.PostPostUpdate +=new CSPostEventHandler(csa_AfterProcessPost);
		}

		private void csa_AfterProcessPost(IContent content, CSPostEventArgs e)
		{
			if(e.ApplicationType == ApplicationType.Gallery)
			{
				GalleryPost g = content as GalleryPost;

				if(g != null && (g.GalleryPostType == GalleryPostType.Image) && e.State != ObjectState.Delete)
				{
					if(g.IsApproved && g.Gallery.ValidateTrackBacks(g))
					{
						TrackBackNotificationProxy.Track(g,true);
					}
				}
			}
		}
	}
}
